package com.hlt.service;

import com.hlt.dto.PostCreateDTO;
import com.hlt.dto.PostsPageQueryDTO;
import com.hlt.dto.SensitivePostQueryDTO;
import com.hlt.dto.UserPostsPageQueryDTO;
import com.hlt.entity.Posts;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hlt.result.PageResult;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author lzf
 * @since 2024-11-25
 */
public interface IPostsService extends IService<Posts> {
    /**
     * 分页查询
     * 
     * @param postsPageQueryDTO
     * @return
     */
    PageResult page(PostsPageQueryDTO postsPageQueryDTO);

    PageResult pageQuery(UserPostsPageQueryDTO userPostsPageQueryDTO);

    void updateById(PostCreateDTO postDTO);

    Posts getPostDetail(Integer postId);

    /**
     * 查询包含敏感词的文章
     */
    PageResult querySensitivePosts(SensitivePostQueryDTO queryDTO);

    /**
     * 保存含有敏感词的文章
     */
    void save(PostCreateDTO postDTO);

    /**
     * 删除文章及其相关数据
     */
    void deletePost(Integer postId);
}
